1. Field of the Invention
This invention relates generally to a computer implemented device and method for cryptography and, more particularly relates to a computer implemented block cipher encryption method utilizing dynamic device keys and a digital signature.
2. Description of the Prior Art
The principal goal of encryption is to render communicated data secure from unauthorized eavesdropping. This is generally referred to as the "secrecy" or "confidentiality" requirement of cryptographic systems. A related requirement is the "authenticity" or "integrity" requirement, which ensures that the communicated information is authentic, i.e. that it has not been tampered with, either deliberately or inadvertently. For purposes of further discussion, some definitions are provided.
"Plaintext" is used to refer to a message before encrypting and after decrypting by a cryptographic system. "Ciphertext" is the form that the encrypted part of the message takes during transmission over a communications channel or within a computer memory storage device. "Encryption" is the process of transformation from plaintext to ciphertext. "Decryption" is the process of transformation from ciphertext to plaintext. Both encryption and decryption are controlled by keys. Without knowledge of the encryption key, a message cannot be encrypted, even with knowledge of the encrypting process. Similarly, without knowledge of the decryption key, the message cannot be decrypted, even with knowledge of the decrypting process.
Data encryption processes scramble plaintext data into ciphertext to prevent unauthorized access to the data. Decryption processes restore the plaintext from the ciphertext (encrypted data). Symmetric key encryption processes utilize the same key for encryption and decryption.
In order to ensure the integrity of the ciphertext, the encryption must be sufficiently complex to prevent unauthorized access to the encrypted data. Two current methods of cryptanalytic attacks, methods designed to break encryption processes, are linear and differential cryptanalysis. In linear cryptanalysis, linear approximations of the block cipher and key schedule used in the encryption process are constructed. Collected plaintexts and associated ciphertexts are used to exploit a bias in the encryption process and key schedule.
If the bias is very small many plaintexts and associated ciphertext pairs are used. This method tries different keys and eventually converges on the correct key. In differential cryptanalysis, pairs of ciphertexts whose plaintexts have particular differences are compared. The evolution of these differences as the plaintexts propagate through the rounds of the encryption process when they are encrypted with the same key are analyzed. Different probabilities are assigned to different keys. As more and more ciphertext pairs are analyzed, the method converges on the correct key. Both cryptanalytic attacks exploit the fact that existing symmetric key block cipher encryption processes use static keys to create the ciphertext.
Still other cryptanalytic attacks exploit the fact that current encryption processes use small key spaces and small block sizes. For certain key spaces and block sizes, current data storage technologies now make it possible to store all combinations of an encrypted block with an associated key for a chosen plaintext block. Thus, breaking the encryption process merely involves a quick look-up table. Accordingly, the present invention seeks to overcome the disadvantages associated with currently available encryption methods and create ciphertext which is very secure and substantially immune to known cryptanalytic attacks.